package ar.com.age.distribuidora.presentacion.converter;

import java.util.List;

import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.ConverterException;
import javax.faces.convert.FacesConverter;

import ar.com.age.distribuidora.dominio.TipoRubro;
import ar.com.age.distribuidora.presentacion.util.ServiceLocator;

@FacesConverter (value = "tipoRubroConverter", forClass = TipoRubro.class)
public class TipoRubroConverter implements Converter {

    private TipoRubro tipoRubro = null;
	
	public Object getAsObject(FacesContext arg0, UIComponent arg1, String arg2) {
		
        List<TipoRubro> lista = ServiceLocator.getDatosClienteService().buscarTodosTipoRubro();
        
	    if (arg2.equals("")) { 
			
            return this.tipoRubro;  
        } else {  
            try {  
                int number = Integer.parseInt(arg2);  
                for (TipoRubro l : lista) {  
                    if (l.getId() == number) {  
                		
                		this.tipoRubro = l;
                        return this.tipoRubro;  
                    }  
                }  
  
            } catch(NumberFormatException exception) {  
                throw new ConverterException(new FacesMessage(FacesMessage.SEVERITY_ERROR, "Conversion Error", "Not a valid player"));  
            }  
        }  

       return this.tipoRubro;
	}

	public String getAsString(FacesContext arg0, UIComponent arg1, Object arg2) {

		
		 if (arg2 == null || arg2.equals("")) {
	            return "";
	        } else {
	        	
	            return String.valueOf(((TipoRubro) arg2).getId());
	        }
	}

}
